Chapter 1. Resources for developers

Table of Contents
Setting up CVS write access
Using CVS write access
SourceForge bug, feature, and patch trackers
Ideas for other sections

The development guide describes resources that are intended for developers in particular. Many Bochs resources are also covered in the User Guide, including compile instructions, bochsrc options, how to find the mailing lists, etc.

Setting up CVS write access

If you are an official SourceForge developer, then you can use CVS with write access. The CVS contains the most recent copy of the source code, and with write access you can upload any changes you make to the CVS server for others to use. A few extra steps are required the first time you use CVS write access.

Install ssh and cvs

First you need to install both cvs (Concurrent Version System) and ssh (Secure Shell). These are already installed on many UNIX systems and also Cygwin (win32 platform). If not, you can install binaries or compile cvs and ssh yourself. The links below should help you get going.

  • CVS software and instructions are available at www.cvshome.org.

  • A free version of secure shell called OpenSSH is at www.openssh.org.

  • OpenSSH requires a library called OpenSSL from www.openssl.org. Be sure to install OpenSSL before trying to compile OpenSSH.

ssh to cvs.sf.net

Next, you need to use secure shell to connect to cvs.sf.net. This step is a little strange, because you can't actually log in and get a shell prompt. All that will happen, when you get the username and password right, is that it will create a home directory on that machine for you. That's it! If you try it again, it will say "This is a restricted Shell Account. You cannot execute anything here." At this point, you've succeeded and you never have to do this step again, ever.
  ssh sfusername@cvs.sf.net

Replace sfusername with your Source Forge username, of course. The first time, you will probably get a message like
The authenticity of host 'cvs.sf.net' can't be established.
Are you sure you want to continue?
Just type yes. When it asks for a password, be sure to type your source forge password. If you have trouble logging in, be sure to use your SOURCE FORGE username and password in the ssh line, which isn't necessarily the same as your local username and password. Add the "-v" option to ssh to see more information about what is failing. If you have ssh version 2, it is possible that you might need to add "-1" to the ssh command to force it to use the version 1 protocol.

Set CVS_RSH environment variable to ssh

Every time you connect to the Source Forge CVS server (including cvs update, stat, commit, etc.), you must set the CVS_RSH environment variable to ssh. So just take the time now to add one of these lines to your .bashrc/.cshrc, so that the CVS_RSH setting will be there every time you log in.

  export CVS_RSH=ssh           (bash syntax)
  setenv CVS_RSH ssh           (csh syntax)

cvs checkout

Finally, you should be able to do the checkout! If you already have a bochs subdirectory directory, move it out of the way because the checkout will overwrite it.

  export CVSROOT=":ext:sfusername@cvs.bochs.sourceforge.net:/cvsroot/bochs"
  cvs -z3 checkout bochs
  sfusername@cvs.sf.net's password:        <--type your password

In the CVSROOT variable, replace sfusername with your SF username. There's no need to add CVSROOT to your rc files because CVS will remember it after the checkout. The -z3 (optional) just adds some compression to make the checkout go faster. Once all the files have been downloaded, you will have a bochs directory which is checked out with write access!